%% @author Final
%% @doc @todo Add description to export.


-module(export).

%% ====================================================================
%% API functions
%% ====================================================================
-export([writeHead/1]).



%% ====================================================================
%% Internal functions
%% ====================================================================

% pd9sY3Zw3Rv5

% export:writeHead(import:importFolge("folge.dat")).


%% Erstellt eine CSV-Datei
%% Pfad: C:/maxteilsummeTest.csv
writecsv(Anzahl, AlgoName, Maxteilsumme,Index1,Index2,ZeitMitZugriff,ZeitohneZugriff,Zugriffe,Matrixzugriffe) -> 
	{ok,Device} = file:open("C:/maxteilsummeTest.csv", [append]),
	Text = lists:concat([Anzahl,";",AlgoName,";",Maxteilsumme,";",Index1,";",Index2,";",ZeitMitZugriff,";"
						,ZeitohneZugriff,";",Zugriffe,";",Matrixzugriffe,"\n"]),
	file:write(Device, Text),
	file:close(Device).

% schreibt den Tabellenkopf
writeHead(Folge)->writecsv("Anzahl", "Algorithmus", "Maxteilsumme", "Index1", "Index2", "ZeitMitZugriff", "ZeitohneZugriff", "Zugriffe","Matrixzugriffe"),
					write_maxteilsumme3(Folge).

% schreibt maxteilsumme3 eintrag 
write_maxteilsumme3(Folge)->
	
		T1 = now(),
		maxteil3:maxteilsumme(Folge),
		T2 = now(),
		ZeitohneZugriff = timer:now_diff(T2, T1),
		T3 = now(),
		{{Maxteilsumme,{Index1,Index2}},Zugriffe} = maxteil3zugr:maxteilsumme(Folge),
		T4 = now(),
		ZeitMitZugriff = timer:now_diff(T4, T3),
	
	writecsv(length(Folge), "MaxTeilsumme3", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,"/"),
	write_maxteilsumme2(Folge).


write_maxteilsumme2(Folge)->
	
		T1 = now(),
		maxteil2:maxTeilsumme2(Folge),
		T2 = now(),
		ZeitohneZugriff = timer:now_diff(T2, T1),
		
		T3 = now(),
		{Maxteilsumme,{Index1,Index2},Zugriffe, MatrixZugriffe} = maxteil2zugr:maxTeilsumme2(Folge),
		T4 = now(),
		ZeitMitZugriff = timer:now_diff(T4, T3),

	writecsv(length(Folge), "MaxTeilsumme2Matrix", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe, MatrixZugriffe),
	eintrag_maxteilsummeRek(Folge).

eintrag_maxteilsummeRek(Folge)->
		T1 = now(),
		maxteilRek:maxTeilsummeRekursiv(Folge),
		T2 = now(),
		ZeitohneZugriff = timer:now_diff(T2, T1),
		T3 = now(),
		% {13,{6,8},39}
		{Maxteilsumme,{Index1,Index2}, Zugriffe1} = maxteilRekzugr:maxTeilsummeRekursiv(Folge),
		T4 = now(),
		ZeitMitZugriff = timer:now_diff(T4, T3),
	
	writecsv(length(Folge), "MaxTeilsummeRekursiv", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe1,"%"),
	eintrag_maxteilsumme1(Folge).

eintrag_maxteilsumme1(Folge)->
		T1 = now(),
		maxteil1:maxteilsumme1(Folge),
		T2 = now(),
		ZeitohneZugriff = timer:now_diff(T2, T1),
		
		T3 = now(),
		{{Maxteilsumme,{Index1,Index2}},Zugriffe} = maxteil1zugr:maxteilsumme1(Folge),
		T4 = now(),
		ZeitMitZugriff = timer:now_diff(T4, T3),
		
	writecsv(length(Folge), "MaxTeilsumme1", Maxteilsumme, Index1, Index2, trunc(ZeitMitZugriff*0.001), trunc(ZeitohneZugriff*0.001), Zugriffe,"/").


